//为什么JS代码会存在栈溢出？
 
// var a = 2
// function add(b, c) {
//   return b + c
// }
// function addAll(b, c) {
//   var d = 10
//   var result = add(b, c)
//   return a + result + d
// }
// addAll()

// if(1) {}
// while () {}
// function foo() {}
// for (let i = 0; i < 100; i++){

// }



// function foo() {
//   for(var i = 0; i < 7; i++){
//     console.log('aaa')
//   }
//   console.log(i)

// }
// foo()



// let x = 5
// const y = 6  //const声明的变量是不可更改的（常量）
// x = 7
// y = 9
// console.log(x, y)




// function varTest() {
//   var x = 1
//   if(true) {
//     var x = 2
//     console.log(x)//2
//   }
//   console.log(x)//2
// }
// varTest()




// function foo() {
//   var a = 1
//   let b = 2
//   {
//     let b = 3
//     var c = 4
//     let d = 5
//     console.log(a); //1
//     console.log(b); //3
//   }
//   console.log(b);   //2
//   console.log(c); //4
//   console.log(d); //error
// }
// foo()


let name = '家君'
{
  console.log(name);
  let name = '小李'
}